package cn.csxw.openchina.interfaces;

import cn.csxw.openchina.constant.Constant;
import cn.csxw.openchina.entity.bean.OsChinaBean;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;

/**
 * Created by hp on 2017/1/12.
 */

public interface IOSChinaServer {
    /**
     * @param pageIndex
     * @param catalog   新闻URL接口
     * @param pageSize
     * @return
     */
    @GET(Constant.NEWS_URL)
    Call<OsChinaBean> getNewsInfo(@Query("pageIndex") int pageIndex, @Query("catalog") int catalog
            , @Query("pageSize") int pageSize);

    /**
     * @param pageIndex
     * @param catalog
     * @param show      热门URL接口
     * @param pageSize
     * @return
     */
    @GET(Constant.NEWS_URL)
    Call<OsChinaBean> getHotInfo(@Query("pageIndex") int pageIndex, @Query("catalog") int catalog,
                                 @Query("show") String show, @Query("pageSize") int pageSize);

    /**
     * @param pageIndex
     * @param pageSiz
     * @param type      博客URL接口
     * @return
     */
    @GET(Constant.BLOG_URL)
    Call<OsChinaBean> getBlogInfo( @Query("pageIndex") int pageIndex, @Query("pageSiz") int pageSiz,
                                  @Query("type") String type);

    /**
     * @param pageIndex
     * @param pageSiz
     * @param type      推荐URL接口
     * @return
     */
    @GET(Constant.BLOG_URL)
    Call<OsChinaBean> getRecommendfInfo(@Query("pageIndex") int pageIndex, @Query("pageSiz") int pageSiz,
                                        @Query("type") String type);

    /**
     * @param id
     * @return  news详情通用接口
     */
    @GET(Constant.NEWS_DETAIL_URL)
    Call<OsChinaBean> getNewsDetailInfo(@Query("id") String id);

    /**
     * @param id
     * @return 博客详情通用接口
     */
    @GET(Constant.BLOG_DETAIL_URL)
    Call<OsChinaBean> getBlogDetailInfo(@Query("id") String id);

    /**
     * @param uid
     * @param pageIndex
     * @param pageSize  最新动弹  我的动弹  热门动弹  三个动弹通用接口
     * @return
     */
    @GET(Constant.TWEET_URL)
    Call<OsChinaBean> getTweetInfo(@Query("uid") int uid, @Query("pageIndex") int pageIndex,
                                   @Query("pageSize") int pageSize);

    /**
     * @param id
     * @return 动弹详情RUL接口
     */
    @GET(Constant.TWEET_DETAIL_URL)
    Call<OsChinaBean> getTweetDetailInfo(@Query("id") String id);

    /**
     * @param pageIndex
     * @param catalog   评论接口URL
     * @param pageSize
     * @param id
     * @return
     */
    @GET(Constant.COMMENT_URL)
    Call<OsChinaBean> getCommentInfo(@Query("pageIndex") int pageIndex, @Query("catalog") int catalog,
                                     @Query("pageSize") int pageSize, @Query("id") String id);

    /**
     * @param uid
     * @param pageIndex
     * @param catalog   好友圈接口URL
     * @param pageSize
     * @return
     */
    @GET(Constant.FIND_URL)
    Call<OsChinaBean> getFindInfo(@Query("uid") String uid, @Query("pageIndex") int pageIndex,
                                    @Query("catalog") int catalog, @Query("pageSize") int pageSize);

    /**
     * @param uid
     * @param pageIndex 近期活动和我的活动接口URL
     * @param pageSize
     * @return
     */
    @GET(Constant.EVENT_URL)
    Call<OsChinaBean> getEventInfo(@Query("uid") String uid, @Query("pageIndex") int pageIndex,
                                   @Query("pageSize") int pageSize);


    /**
     * @param id 活动详情接口URL
     * @return
     */
    @GET(Constant.POST_DETAIL_URL)
    Call<OsChinaBean> getPostDetailInfo(@Query("id") String id);

    /**
     * @param uid 我的信息
     * @return
     */
    @GET(Constant.MY_INFO_URL)
    Call<OsChinaBean> getMyInfo(@Query("uid") String uid);


    /**
     * @param uid
     * @param pageIndex 收藏接口URL
     * @param pageSize
     * @param type
     * @return
     */
    @GET(Constant.FAVORITE_URL)
    Call<OsChinaBean> getFavoriteInfo(@Query("uid") String uid, @Query("pageIndex") int pageIndex,
                                      @Query("pageSize") int pageSize, @Query("type") int type);


    /**
     * @param uid
     * @param pageIndex
     * @param pageSize  粉丝接口url
     * @param relation
     * @return
     */
    @GET(Constant.FINS_URL)
    Call<OsChinaBean> getFinsInfo(@Query("uid") String uid, @Query("pageIndex") int pageIndex,
                                  @Query("pageSize") int pageSize, @Query("relation") int relation);

    /**
     * @param uid
     * @param pageIndex
     * @param catalog      @我 和评论接口URL
     * @param pageSize
     * @return
     */
    @GET(Constant.ACTIVE_URL)
    Call<OsChinaBean> getActiveInfo(@Query("uid") String uid, @Query("pageIndex") int pageIndex,
                                     @Query("catalog") int catalog, @Query("pageSize") int pageSize);

    /**
     * @param uid
     * @param pageIndex
     * @param pageSize    留言接口Url
     * @return
     */
    @GET(Constant.MESSAGE_URL)
    Call<OsChinaBean> getMessageInfo(@Query("uid") String uid, @Query("pageIndex") int pageIndex,
                                     @Query("pageSize") int pageSize);

    /**
     * @param username  赞过我 接口URL
     */
    @GET(Constant.MY_TWEET_LIKE_URL)
    Call<OsChinaBean> getMyTweetlikeInfo(@Path("username") String username);

    /**
     * @param authoruid
     * @param uid
     * @param pageIndex   博客接口URL 这是用户的博客
     * @param authorname
     * @param pageSize
     * @return
     */
//    @Headers(value = {"Global.getCook(Constant.COOKIES)"})
    @GET(Constant.USERBLOG_URL)
    Call<OsChinaBean> getUserBlogInfo(@Query("authoruid") String authoruid, @Query("uid") String uid,
                                      @Query("pageIndex") int pageIndex, @Query("authorname") String authorname,
                                      @Query("pageSize") int pageSize);
    @GET(Constant.LOGIN_URL)
    Call<OsChinaBean> login(  @Query("username") String username, @Query("pwd") String pwd, @Query("keep_login") int keep_login);

}
